package com.huatai.dataservice.dubbo;

import com.alibaba.fastjson.JSONObject;

import java.util.List;

/**
 * MongoDB接口
 *
 * @author lizhong
 * @date 2023年7月31日
 */
public interface DataDisposeDubboAPIMongoDB {

	/**
	 * MongoDB: 校验数据库中是否存在集合，有则跳过，无则新建
	 *
	 * @param collectionName 集合名
	 * @param jsonData       字段属性
	 * @return boolean
	 * @author lizhong
	 */
	boolean existTable(String collectionName, List<JSONObject> jsonData);

	/**
	 * TODO：获取表数据条数（实时的数据表名前缀为：“tb_rt_”，非实时的表名为：“tb_ht_”）
	 *
	 * @return List<JSONObject>
	 * @author lizhong
	 */
	List<JSONObject> getAllTableCount();

	/**
	 * MongoDB：往一个集合插入一条数据，TODO 在kafka消息处理类KafkaConsumerListener的listen调用
	 * TODO 插入哪个表
	 *
	 * @param collectionName 集合名
	 * @param object     插入对象
	 * @author lizhong
	 */
	void executeInsert(String collectionName, JSONObject object);
}
